using System;
using System.Collections.Generic;
using ns26;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("ProjectedShadow")]
	public class ProjectedShadow : MonoBehaviour
	{
		public static int RENDER_SIZE => MonoClass.smethod_6<int>(TritonHs.MainAssemblyPath, "", "ProjectedShadow", "RENDER_SIZE");

		public static string SHADER_NAME => MonoClass.smethod_8(TritonHs.MainAssemblyPath, "", "ProjectedShadow", "SHADER_NAME");

		public static string CONTACT_SHADER_NAME => MonoClass.smethod_8(TritonHs.MainAssemblyPath, "", "ProjectedShadow", "CONTACT_SHADER_NAME");

		public static string SHADER_FALLOFF_RAMP => MonoClass.smethod_8(TritonHs.MainAssemblyPath, "", "ProjectedShadow", "SHADER_FALLOFF_RAMP");

		public static string EDGE_FALLOFF_TEXTURE => MonoClass.smethod_8(TritonHs.MainAssemblyPath, "", "ProjectedShadow", "EDGE_FALLOFF_TEXTURE");

		public static string GAMEOBJECT_NAME_EXT => MonoClass.smethod_8(TritonHs.MainAssemblyPath, "", "ProjectedShadow", "GAMEOBJECT_NAME_EXT");

		public static string UNLIT_WHITE_SHADER_NAME => MonoClass.smethod_8(TritonHs.MainAssemblyPath, "", "ProjectedShadow", "UNLIT_WHITE_SHADER_NAME");

		public static string UNLIT_LIGHTGREY_SHADER_NAME => MonoClass.smethod_8(TritonHs.MainAssemblyPath, "", "ProjectedShadow", "UNLIT_LIGHTGREY_SHADER_NAME");

		public static string UNLIT_DARKGREY_SHADER_NAME => MonoClass.smethod_8(TritonHs.MainAssemblyPath, "", "ProjectedShadow", "UNLIT_DARKGREY_SHADER_NAME");

		public static string MULTISAMPLE_SHADER_NAME => MonoClass.smethod_8(TritonHs.MainAssemblyPath, "", "ProjectedShadow", "MULTISAMPLE_SHADER_NAME");

		public static float NEARCLIP_PLANE => MonoClass.smethod_6<float>(TritonHs.MainAssemblyPath, "", "ProjectedShadow", "NEARCLIP_PLANE");

		public static float SHADOW_OFFSET_SCALE => MonoClass.smethod_6<float>(TritonHs.MainAssemblyPath, "", "ProjectedShadow", "SHADOW_OFFSET_SCALE");

		public static float RENDERMASK_OFFSET => MonoClass.smethod_6<float>(TritonHs.MainAssemblyPath, "", "ProjectedShadow", "RENDERMASK_OFFSET");

		public static float RENDERMASK_BLUR => MonoClass.smethod_6<float>(TritonHs.MainAssemblyPath, "", "ProjectedShadow", "RENDERMASK_BLUR");

		public static float RENDERMASK_BLUR2 => MonoClass.smethod_6<float>(TritonHs.MainAssemblyPath, "", "ProjectedShadow", "RENDERMASK_BLUR2");

		public static float CONTACT_SHADOW_SCALE => MonoClass.smethod_6<float>(TritonHs.MainAssemblyPath, "", "ProjectedShadow", "CONTACT_SHADOW_SCALE");

		public static float CONTACT_SHADOW_FADE_IN_HEIGHT => MonoClass.smethod_6<float>(TritonHs.MainAssemblyPath, "", "ProjectedShadow", "CONTACT_SHADOW_FADE_IN_HEIGHT");

		public static float CONTACT_SHADOW_INTENSITY => MonoClass.smethod_6<float>(TritonHs.MainAssemblyPath, "", "ProjectedShadow", "CONTACT_SHADOW_INTENSITY");

		public static int CONTACT_SHADOW_RESOLUTION => MonoClass.smethod_6<int>(TritonHs.MainAssemblyPath, "", "ProjectedShadow", "CONTACT_SHADOW_RESOLUTION");

		public List<Vector2> PLANE_UVS => method_3<Class250<Vector2>>("PLANE_UVS")?.method_25();

		public List<Vector3> PLANE_NORMALS => method_3<Class250<Vector3>>("PLANE_NORMALS")?.method_25();

		public List<int> PLANE_TRIANGLES => method_3<Class250<int>>("PLANE_TRIANGLES")?.method_25();

		public float m_ShadowProjectorSize => method_2<float>("m_ShadowProjectorSize");

		public bool m_ShadowEnabled => method_2<bool>("m_ShadowEnabled");

		public bool m_AutoBoardHeightDisable => method_2<bool>("m_AutoBoardHeightDisable");

		public float m_AutoDisableHeight => method_2<float>("m_AutoDisableHeight");

		public bool m_ContinuousRendering => method_2<bool>("m_ContinuousRendering");

		public float m_ProjectionFarClip => method_2<float>("m_ProjectionFarClip");

		public Vector3 m_ProjectionOffset => method_2<Vector3>("m_ProjectionOffset");

		public bool m_ContactShadow => method_2<bool>("m_ContactShadow");

		public Vector3 m_ContactOffset => method_2<Vector3>("m_ContactOffset");

		public bool m_isDirtyContactShadow => method_2<bool>("m_isDirtyContactShadow");

		public static float s_offset => MonoClass.smethod_6<float>(TritonHs.MainAssemblyPath, "", "ProjectedShadow", "s_offset");

		public static Color s_ShadowColor => MonoClass.smethod_6<Color>(TritonHs.MainAssemblyPath, "", "ProjectedShadow", "s_ShadowColor");

		public GameObject m_RootObject => method_3<GameObject>("m_RootObject");

		public GameObject m_ProjectorGameObject => method_3<GameObject>("m_ProjectorGameObject");

		public Transform m_ProjectorTransform => method_3<Transform>("m_ProjectorTransform");

		public Camera m_Camera => method_3<Camera>("m_Camera");

		public float m_AdjustedShadowProjectorSize => method_2<float>("m_AdjustedShadowProjectorSize");

		public float m_BoardHeight => method_2<float>("m_BoardHeight");

		public Mesh m_PlaneMesh => method_3<Mesh>("m_PlaneMesh");

		public GameObject m_PlaneGameObject => method_3<GameObject>("m_PlaneGameObject");

		public Material m_ShadowMaterial => method_3<Material>("m_ShadowMaterial");

		public Material m_ContactShadowMaterial => method_3<Material>("m_ContactShadowMaterial");

		public Material m_MultiSampleMaterial => method_3<Material>("m_MultiSampleMaterial");

		public Material ShadowMaterial => method_14<Material>("get_ShadowMaterial", Array.Empty<object>());

		public Material ContactShadowMaterial => method_14<Material>("get_ContactShadowMaterial", Array.Empty<object>());

		public Material MultiSampleMaterial => method_14<Material>("get_MultiSampleMaterial", Array.Empty<object>());

		public ProjectedShadow(IntPtr address, string className)
			: base(address, className)
		{
		}

		public ProjectedShadow(IntPtr address)
			: this(address, "ProjectedShadow")
		{
		}

		public static void SetShadowColor(Color color)
		{
			MonoClass.smethod_18(TritonHs.MainAssemblyPath, "", "ProjectedShadow", "SetShadowColor", color);
		}

		public void Start()
		{
			method_8("Start");
		}

		public void LateUpdate()
		{
			method_8("LateUpdate");
		}

		public void OnDisable()
		{
			method_8("OnDisable");
		}

		public void OnDestroy()
		{
			method_8("OnDestroy");
		}

		public void OnDrawGizmos()
		{
			method_8("OnDrawGizmos");
		}

		public void Render()
		{
			method_8("Render");
		}

		public void EnableShadow()
		{
			method_9("EnableShadow", new Class276.Enum20[0]);
		}

		public void EnableShadow(float FadeInTime)
		{
			method_9("EnableShadow", new Class276.Enum20[1] { Class276.Enum20.R4 }, FadeInTime);
		}

		public void DisableShadow()
		{
			method_9("DisableShadow", new Class276.Enum20[0]);
		}

		public void DisableShadow(float FadeOutTime)
		{
			method_9("DisableShadow", new Class276.Enum20[1] { Class276.Enum20.R4 }, FadeOutTime);
		}

		public void UpdateContactShadow(Spell spell, SpellStateType prevStateType, object userData)
		{
			method_9("UpdateContactShadow", new Class276.Enum20[3]
			{
				Class276.Enum20.Class,
				Class276.Enum20.ValueType,
				Class276.Enum20.Class
			}, spell, prevStateType, userData);
		}

		public void UpdateContactShadow(Spell spell, object userData)
		{
			method_9("UpdateContactShadow", new Class276.Enum20[2]
			{
				Class276.Enum20.Class,
				Class276.Enum20.Class
			}, spell, userData);
		}

		public void UpdateContactShadow(Spell spell)
		{
			method_9("UpdateContactShadow", new Class276.Enum20[1] { Class276.Enum20.Class }, spell);
		}

		public void UpdateContactShadow()
		{
			method_9("UpdateContactShadow", new Class276.Enum20[0]);
		}

		public void DisableShadowProjector()
		{
			method_8("DisableShadowProjector");
		}

		public void UpdateShadowColor(float val)
		{
			method_8("UpdateShadowColor", val);
		}

		public void RenderShadowMask()
		{
			method_8("RenderShadowMask");
		}

		public void RenderContactShadow()
		{
			method_8("RenderContactShadow");
		}

		public void CreateProjector()
		{
			method_8("CreateProjector");
		}

		public void CreateCamera()
		{
			method_8("CreateCamera");
		}

		public void CreateRenderPlane()
		{
			method_8("CreateRenderPlane");
		}

		public void SetWorldScale(Transform xform, Vector3 scale)
		{
			method_8("SetWorldScale", xform, scale);
		}
	}
}
